#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
map<int, int> mp;
int solve() {
  int n;
  cin >> n;
  while (n--) {
    int a;
    cin >> a;
    for (int i = 2; i <= a / i; ++i) {
      int cnt = 0;
      while (a % i == 0) {
        a /= i;
        cnt++;
      }
      mp[i] += cnt;
    }
    if (a > 1) mp[a]++;
  }
  long long res = 1;  // There can be miracles when you use long long
  for (auto [p, cnt] : mp) {
    res = (res * (cnt + 1)) % MOD;
  }
  cout << res << endl;
  return 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  // freopen("in.txt","r",stdin);
  // freopen("out.txt","w",stdout);
  int tc;
  tc = 1;
  for (int t = 1; t <= tc; t++) {
    // cout << "Case #" << t << ": \n";
    solve();
  }
  return 0;
}

